package com.adk.backend.service;

import com.adk.backend.entity.LxCDelivery;
import java.util.List;
import java.util.Map;

/**
 * 派送单管理服务接口
 */
public interface CDeliveryService {
    
    /**
     * 查询派送单列表
     */
    List<Map<String, Object>> getDeliveryList(Map<String, Object> params);
    
    /**
     * 根据ID查询派送单详情
     */
    Map<String, Object> getDeliveryDetailById(Long id);
    
    /**
     * 保存派送单（新增或更新）
     */
    boolean saveDelivery(LxCDelivery delivery);
    
    /**
     * 删除派送单
     */
    boolean deleteDelivery(Long id);
    
    /**
     * 更新备注
     */
    boolean updateRemarks(Long id, String remarks, Integer userId);
    
    /**
     * 更新预约日期
     */
    boolean updateBookingDate(Long id, String bookingDate, Integer userId);
    
    /**
     * 更新签收信息和POD
     */
    boolean updateRecvInfo(Long id, Integer recvType, String recvNo, String recvDate, String pod, Integer userId);
    
    /**
     * 标记应收
     */
    boolean markReceivable(Long id);
    
    /**
     * 获取账单编辑信息
     */
    Map<String, Object> getBillingInfo(Long deliveryId);
    
    /**
     * 保存账单（创建或更新）
     */
    boolean saveBilling(Long deliveryId, Map<String, Object> billingData, Integer userId);
    
    /**
     * 删除账单明细项
     */
    boolean deleteBillingDetailItem(Long detailId);
}

